第一種: 基本變數宣告
package main
import "fmt"
func main() {
var a int = 1
var b float32 = 1.2
var c string = "mingsyun"
fmt.Printf("a:%T,b:%T,c:%T\n",a,b,c)
fmt.Printf("a:%d,b:%.2f,c:%s",a,b,c)
}
https://play.golang.org/p/ojZdBJP29d5
第二種:短變數宣告
Golang 使用 := 運算子,提供簡短的變數宣告語法。
這個是宣告和初始化變數的簡寫(包含型別推斷,如下第三種)。
package main
import "fmt"
func main() {
a := 1
b := 1.2
c := "mingsyun"
fmt.Printf("a:%T,b:%T,c:%T\n",a,b,c)
fmt.Printf("a:%d,b:%.2f,c:%s",a,b,c)
}
https://play.golang.org/p/Wez6_5S3Ct0
第三種: 自動型別推斷
在宣告有初始值的變數時,Golang會自動從右側的值推斷出變數的型別。
因此,在宣告有初始值得變數時,可以不用指定型別。
package main
import "fmt"
func main() {
var a = 1
var b = 1.2
var c = "mingsyun"
fmt.Printf("a:%T,b:%T,c:%T\n",a,b,c)
fmt.Printf("a:%d,b:%.2f,c:%s",a,b,c)
}
https://play.golang.org/p/eRdtp3ktoN6
簡易規則:
var < name > < type > = < value >
var < name > := < value >
參考來源:
https://calvertyang.github.io/2019/11/05/golang-variables-zero-values-type-inference/
https://pjchender.github.io/2020/06/04/golang-%E8%AE%8A%E6%95%B8%E5%AE%A3%E5%91%8A/